﻿
//using System.Data;
//using System.Data.SqlClient;
//using System.Text;

//namespace Common;

//public class DBHelper
//{
//    //public readonly  string _Default = ConfigurationManager.AppSettings["ConnectionStrings:Default"];    
//    public readonly string _Default = "Server=192.168.2.87;Database=webdb2New;Uid=sa;Pwd=uom33p;min pool size=5;max pool size=2000;connect timeout = 60;Encrypt=False;";
//    /// <summary>
//    /// 执行增删改 返回修改行数
//    /// </summary>
//    /// <param name="Sql">SQL命令</param>
//    /// <returns>所受影响行数</returns>
//    public int UpdateSql(string Sql)
//    {
//        //string Default = _configuration["ConnectionStrings:Default"];
//        using SqlConnection connection = new SqlConnection(_Default);
//        connection.Open();
//        using SqlCommand command = new SqlCommand(Sql, connection);
//        int ret = command.ExecuteNonQuery();
//        return ret;
//    }
//    /// <summary>
//    /// 执行查询语句      
//    /// </summary>
//    /// <param name="Sql">SQL命令</param>
//    /// <returns>返回 DataTable 结果集</returns>
//    public DataTable GetQuerySql(string Sql)
//    {
//        DataTable dt = new DataTable();
//        using SqlConnection connection = new SqlConnection(_Default);
//        connection.Open();
//        using SqlCommand command = new SqlCommand(Sql, connection);
//        using SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(command);
//        sqlDataAdapter.Fill(dt);
//        return dt;
//    }

//    /// <summary>
//    /// 执行SQL语句
//    /// </summary>
//    /// <param name="Sql"></param>
//    /// <returns></returns>
//    public string UpdateQuerySql(string Sql)
//    {
//        try
//        {
//            using SqlConnection connection = new(_Default);
//            connection.Open();

//            using SqlCommand command = new(Sql, connection);
//            command.ExecuteNonQuery();

//            SqlDataReader reader = command.ExecuteReader();
//            // 声明一个 StringBuilder 用于存储查询结果
//            StringBuilder result = new StringBuilder();
//            while (reader.Read())
//            {
//                string value = reader.GetString(0);
//                result.AppendLine(value);
//            }
//            reader.Close();
//            return result.ToString();
//        }
//        catch (Exception ex)
//        {
//            Console.WriteLine($"An error occurred: {ex.Message}");
//            throw; // 重新抛出异常以便上层调用者处理
//        }
//    }



   
//    /// <summary>
//    /// 执行存储过程 
//    /// </summary>
//    /// <param name="spName">存储过程名</param>
//    /// <param name="para">传入参数</param>
//    /// <returns>DataSet结果集 </returns>
//    /// 
//    public DataSet GetDataSetProcedure(string spName, params SqlParameter[] para)
//    {
//        /*
//           SqlParameter[] pam = {
//                              new SqlParameter("@chrNo",SqlDbType.VarChar,500,ParameterDirection.Input,true,0,0,null,DataRowVersion.Current,"wahCusOrder"),
//                              new SqlParameter("@chrSearch",SqlDbType.VarChar,500,ParameterDirection.Input,true,0,0,null,DataRowVersion.Current,DocNo)
//                          };
//        */
//        try
//        {
//            //string Default = _configuration["ConnectionStrings:Default"];
//            SqlConnection connection = new SqlConnection(_Default);
//            SqlDataAdapter? adapter = null;
//            DataSet set = new DataSet();
//            using (SqlCommand command = new SqlCommand(spName))
//            {
//                command.CommandType = CommandType.StoredProcedure;
//                command.CommandText = spName;
//                command.Parameters.AddRange(para);
//                adapter = new SqlDataAdapter(command);
//                adapter.Fill(set);
//                adapter.SelectCommand.Parameters.Clear();
//                adapter.Dispose();
//                connection.Close();
//                connection.Dispose();
//                return set;
//            }
//        }
//        catch (Exception)
//        {
//            return new DataSet();
//        }
//    }

//    /// <summary>
//    /// 执行增删改存储过程
//    /// </summary>
//    /// <param name="Sql"></param>
//    /// <param name="param"></param>
//    /// <param name="isProc"></param>
//    public void UpdateProcedure(string Sql, List<SqlParameter> param, bool isProc)
//    {
//        try
//        {
//            SqlConnection connection = new SqlConnection(_Default);
//            using SqlCommand cmd = new SqlCommand(Sql, connection);
//            if (param != null)
//            {
//                cmd.Parameters.AddRange(param.ToArray());
//            }
//            if (isProc)
//            {
//                cmd.CommandType = CommandType.StoredProcedure;
//            }
//            cmd.ExecuteNonQuery();

//        }
//        catch (Exception)
//        {

//            throw;
//        }
//    }
//    /// <summary>
//    /// 执行存储过程
//    /// </summary>
//    /// <param name="spName">存储过程名称</param>
//    /// <param name="para">参数集合</param>
//    /// <returns>DataTable 结果集</returns>
//    public DataTable GetDataTableProcedure(string spName, params SqlParameter[] para)
//    {
//        DataTable dt = new();
//        try
//        {
//            // 创建一个 SqlConnection 数据库连接
//            SqlConnection connection = new SqlConnection(_Default);
//            // 用于执行 SQL 命令（包括查询、插入、更新、删除等）
//            using SqlCommand command = new SqlCommand(spName);
//            //设置执行的类型为存储过程
//            command.CommandType = CommandType.StoredProcedure;
//            //设置执行存储过程 名称
//            command.CommandText = spName;
//            //添加存储过程参数
//            command.Parameters.AddRange(para);
//            dt = new DataTable();
//            // 创建一个 SqlDataAdapter 对象，并将查询命令传递给它
//            using SqlDataAdapter adapter = new SqlDataAdapter(command);
//            //结果传递给DataTable
//            adapter.Fill(dt);
//        }
//        catch (Exception ex)
//        {
//            Console.WriteLine($"An error occurred: {ex.Message}");
//            throw;
//        }
//        return dt;
//    }
//}

